# author : 202213216李豆豆
# (2）使一年一度的校园好声音进行到了激烈的决赛环节，8位评委对入围的6名选手给出了最终的评分(见表5-7)。请根据评分表，
# 将每位选手的得分去掉一个最高分和一个最低分后求平均分，并按照平均分由高到低的顺序输出选手编号和最后得分。
# 表5-7评分表
# 编号  	评分1	评分2	评分3	评分4	评分5	评分6	评分7	评分8
# 012	    90	    94	    97	    86  	85	    89  	88	    85
# 005	    91	    91	    92	    98	    90	    96	    90	    95
# 108	    96	    86	    97	    96	    87	    86	    96	    96
# 037	    95	    95	    94	    93	    97	    98	    99	    95
# 066	    95	    87	    94	    94	    93	    99	    96	    97
# 020	    89	    97	    91	    95  	89	    94	    97	    92

scores = {
    "012": [90, 94, 97, 86, 85, 89, 88, 85],
    "005": [91, 91, 92, 98, 90, 96, 90, 95],
    "108": [96, 86, 97, 96, 87, 86, 96, 96],
    "037": [95, 95, 94, 93, 97, 98, 99, 95],
    "066": [95, 87, 94, 94, 93, 99, 96, 97],
    "020": [89, 97, 91, 95, 89, 94, 97, 92]
}

res = {}  # 存放序号和对应的平均值
for numb, listScores in scores.items():
    listScores.sort()  # 这里返回的是元组数组，即数组
    avg = sum(listScores[1: len(listScores)-1])/6  # 去最高最低，求出平均值
    res[numb] = avg  # 将成绩存入字典中

resOut = sorted(res.items(), key=lambda item: item[1], reverse=True)  # 按平均分的大小对进行序号排序
for resNumber, resScore in resOut:  # 输出结果
    print("序号：{} ---- 成绩：{:.2f}".format(resNumber, resScore))


